package com.syt.order.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.syt.model.order.OrderInfo;
import com.syt.vo.order.OrderCountQueryVo;
import com.syt.vo.order.OrderQueryVo;

import java.util.Map;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author XXXX
 * @since 2023-02-26
 */
public interface OrderInfoService extends IService<OrderInfo> {


    /**
     * 预约统计
     * @param orderCountQueryVo
     * @return
     */
    Map<String,Object> getOrderCountMap(OrderCountQueryVo orderCountQueryVo);

    /**
     * 就诊提醒
     */
    void patientTips();


    /**
     * 取消预约
     * @param orderId
     * @return
     */
    boolean removeOrder(Long orderId);

    /**
     * 订单列表(条件查询带分页)
     * @param pageParam
     * @param orderQueryVo
     * @return
     */
    Page<OrderInfo> getOrdersListOfPage(Page<OrderInfo> pageParam, OrderQueryVo orderQueryVo);



    /**
     * 根据id查询订单详情
     * @param orderId
     * @return
     */
    OrderInfo getOrdersById(Long orderId);

    /**
     * 生成挂号订单
     * @param scheduleId
     * @param patientId
     * @return
     */
    Long saveOrder(String scheduleId, Long patientId);


}
